Currently, deploying software packages such as needed for management agents in computer systems is typically manual and difficult to automate. The management agents or other software entities are customarily identified by Internet Protocol (IP) addresses or hostnames and port numbers, which usually depend on the network infrastructure of machines that store the management agents or the software entities. Further, a node or an instance representing a management agent usually requires individual configuration information that is difficult to maintain when the number of instances increases.
Remote software installation and configuration systems have been available in which configuration engines provide centralized configuration information and interfaces for operators to perform remote configuration tasks, usually described in form of scripts. However, configuration engines are also manual or operator-driven, i.e., the operators are required to initiate configurations. Configuration engines are not designed to install and establish whole topologies as controlled processes. A configuration engine initiates only one process, which does not initiate other processes for installing other instances, and does not facilitate automatic assignment of identity and roles to individual instances.
As the systems and their instances become larger, e.g., in the order of 5,000 to 10,000 instances, deployment tasks are becoming more complicated with issues of software distribution, installation, configuration, etc.
Based on the foregoing, it is desirable that mechanisms are provided to solve the above deficiencies and related problems.